package com.example.model.pojo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigInteger;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author zhexueqi
 */
@ApiModel(value = "员工业务对象")
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class Person {
    @TableId
    // 主键
    private Long id;

    // 用户姓名
    private String name;

    // 用户地址
    private String employeeAddress;

    // 用户密钥
    private String signSecurity;

    // 用户类型 0-管理员 1-员工 2-社保局 3-雇主
    private Integer userType;

    // 手机号码
    private String phone;

    // 电子邮箱
    private String email;

    // 性别 0-男 1-女
    private Integer sex;

    // 出生日期
    private LocalDate birthDate;

    // 封禁类型 1-资金操作/2-敏感操作/3-全部封禁
    private Integer banType;

    // 年龄
    private Integer age;

    // 雇主名字
    private String employer;

    // 雇主地址
    private String employerAddress;

    // 身份证号码
    private String idNumber;

    // 头像
    private String avatar;

    // 学历
    private String education;

    // 婚姻状况 0-未婚 1-已婚 2-离异 3-丧偶
    private Integer maritalStatus;

    // 居住地址
    private String address;

    // 户口类型 0-城镇 1-农村
    private Integer householdType;

    // 职位名称
    private String jobTitle;

    // 职级
    private String jobLevel;

    // 入职日期
    private LocalDate entryDate;

    // 工作年限
    private Integer workYears;

    // 状态 0-禁用 1-启用
    private Integer status;

    // 风险等级 0-低风险 1-中风险 2-高风险
    private Integer riskLevel;

    // 微信openid
    private String wxOpenid;

    // 创建时间
    private LocalDateTime createTime;

    // 封禁到期时间（null表示永久封禁）
    private LocalDateTime banExpiryTime;

    // 更新时间
    private LocalDateTime updateTime;

}